71 research outputs found

    Studying Software Engineering Patterns for Designing Machine Learning Systems

    Full text link
    Machine-learning (ML) techniques have become popular in the recent years. ML techniques rely on mathematics and on software engineering. Researchers and practitioners studying best practices for designing ML application systems and software to address the software complexity and quality of ML techniques. Such design practices are often formalized as architecture patterns and design patterns by encapsulating reusable solutions to commonly occurring problems within given contexts. However, to the best of our knowledge, there has been no work collecting, classifying, and discussing these software-engineering (SE) design patterns for ML techniques systematically. Thus, we set out to collect good/bad SE design patterns for ML techniques to provide developers with a comprehensive and ordered classification of such patterns. We report here preliminary results of a systematic-literature review (SLR) of good/bad design patterns for ML

    Identifying Characteristics of the Agile Development Process That Impact User Satisfaction

    Full text link
    The purpose of this study is to identify the characteristics of Agile development processes that impact user satisfaction. We used user reviews of OSS smartphone apps and various data from version control systems to examine the relationships, especially time-series correlations, between user satisfaction and development metrics that are expected to be related to user satisfaction. Although no metrics conclusively indicate an improved user satisfaction, motivation of the development team, the ability to set appropriate work units, the appropriateness of work rules, and the improvement of code maintainability should be considered as they are correlated with improved user satisfaction. In contrast, changes in the release frequency and workload are not correlated

    ProMeTA: A taxonomy for program metamodels in program reverse engineering

    Get PDF
    ABSTRACT: To support program comprehension, maintenance, and evolution, metamodels are frequently used during program reverse engineering activities to describe and analyze constituents of a program and their relations. Reverse engineering tools often define their own metamodels according to the intended purposes and features. Although each metamodel has its own advantages, its limitations may be addressed by other metamodels. Existing works have evaluated and compared metamodels and tools, but none have considered all the possible characteristics and limitations to provide a comprehensive guideline for classifying, comparing, reusing, and extending program metamodels. To aid practitioners and researchers in classifying, comparing, reusing, and extending program metamodels and their corresponding reverse engineering tools according to the intended goals, we establish a conceptual framework with definitions of program metamodels and related concepts. We confirmed that any reverse engineering activity can be clearly described as a pattern based on the framework from the viewpoint of program metamodels. Then the framework is used to provide a comprehensive taxonomy, named Program Metamodel TAxonomy (ProMeTA), which incorporates newly identified characteristics into those stated in previous works, which were identified via a systematic literature review (SLR) on program metamodels, while keeping the orthogonality of the entire taxonomy. Additionally, we validate the taxonomy in terms of its orthogonality and usefulness through the classification of popular metamodels

    Is Fragmentation a Threat to the Success of the Internet of Things?

    Full text link
    The current revolution in collaborating distributed things is seen as the first phase of IoT to develop various services. Such collaboration is threatened by the fragmentation found in the industry nowadays as it brings challenges stemming from the difficulty to integrate diverse technologies in system. Diverse networking technologies induce interoperability issues, hence, limiting the possibility of reusing the data to develop new services. Different aspects of handling data collection must be available to provide interoperability to the diverse objects interacting; however, such approaches are challenged as they bring substantial performance impairments in settings with the increasing number of collaborating devices/technologies.Comment: 16 pages, 2 figures, Internet of Things Journal (http://ieee-iotj.org

    Knowledge description model for bodies of knowledge in software engineering context

    Get PDF
    Bodies of Knowledge (BOK) contains the relevant knowledge for a discipline. BOK must embody the consensus reached by the community for which this BOK will be of application. This consensus is a prerequisite for the adoption of the BOK by the community. In this paper, we utilize a combinations of Software Engineering Body of Knowledge (SWEBOK), models representation, and design science methodology in order to describe the software engineering knowledge context (SEC). SWEBOK serves as backbone taxonomy, while models representation provides a context of representation. In the process of develop of this paper science design methodology was used to provide fundamental knowledge in software engineering (SE)

    Curricular design based in bodies of knowledge: engineering education for the innovation and the industry

    Get PDF
    Bodies of Knowledge (BOK), contain the relevant knowledge for a disciplines as example Software Engineering (SE), System Information (SI), Information Technology (IT), Computer Science (CS), Medicine, Economics, and others areas of knowledge. BOK describes relevant knowledge for a discipline, and will need show the consensus in the Knowledge Areas (KA), and related disciplines. The development of this consensus is a prerequisite to the adoption of coherent skills development in the education context, and continuing professional programs both in public and private organizations. In this context a systematic mapping study (SMS), it was performed to evaluate quantity and types of primary studies in an area of interest. SMS will be used as the research method within this research. The research method proposed will allow to sort and classify the information referent to the topics of this research. This paper is an attempt to analyze existing proposals on BOK contents, structure, and make a proposal what the kind of contents it should have, and how it should be structured so that this consensus among all parties can be described and best achieved. In the same way the relevance, and useful of the BOK in the curricular design for the innovation, and the industry context is present

    Open BOK on Software Engineering Educational Context: A Systematic Literature Review

    Get PDF
    In this review, a Systematic Literature Review (SLR) on Open Body of Knowledge (BOK) is presented. Moreover, the theoretical base to build a model for knowledge description was created, and it was found that there is a lack of guidelines to describe knowledge description because of the dramatically increasing number of requirements to produce an Open BOK, the difficulty of comparing related BOK contents, and the fact that reusing knowledge description is a very laborious task. In this sense, this review can be considered as a first step in building a model that can be used for describing knowledge description in Open BOK. Finally, in order to improve the educational context, a comparison among BOK, structure, and evolution is conducted.This work is supported partially by RTI2018-096846-B-C21 (MCIU/AEI/FEDER, UE) and ADIAN grant IT980-16 (BasqueGovernment)

    Identifying Potential Problems and Risks in GQM+Strategies Models Using Metamodel and Design Principles

    Get PDF
    Although GQM+Strategies®1 assures that business goals and strategies are aligned throughout an organization and at each organizational unit based on the rationales to achieve the overall business goals, whether the GQM+Strategies grid is created correctly cannot be determined because the current definition of GQM+Strategies allows multiple perspectives when aligning goals with strategies. Here we define modeling rules for GQM+Strategies with a metamodel specified with a UML class diagram. Additionally, we create design principles that consist of relationship constraints between GQM+Strategies elements, which configure GQM+Strategies grids. We demonstrate that the GQM+Strategies grids can be automatically determined with the help of design principles described in OCL. In fact, an experiment is implemented using these approaches in order to show that this method helps identify and improve potential problems and risks. The results confirm that our approaches help create a consistent GQM+Strategies grid

    Recovering Transitive Traceability Links among Software Artifacts

    Get PDF
    Abstract-Although many methods have been suggested to automatically recover traceability links in software development, they do not cover all link combinations (e.g., links between the source code and test cases) because specific documents or artifact features (e.g., log documents and structures of source code) are used. In this paper, we propose a method called the Connecting Links Method (CLM) to recover transitive traceability links between two artifacts using a third artifact. Because CLM uses a different artifact as a document, it can be applied to kinds of various data. Basically, CLM recovers traceability links using the Vector Space Model (VSM) in Information Retrieval (IR) methods. For example, by connecting links between A and B and between B and C, CLM retrieves the link between A and C transitively. In this way, CLM can recover transitive traceability links when a suggested method cannot. Here we demonstrate that CLM can effectively recover links that VSM cannot using Open Source Software
    corecore